﻿var selectguid="first";
var IsLock="0";

function changehead()
{
    alert("不好意思,该功能还未开放")
}

function register()
{
    if(validateInput())
    {
        $.post("/ajax.aspx",{opName:"Register",uid:$('#iptUserID').val(),psd:$('#iptPsd').val()},function(result){
            afterLogin(result.result);
        },"json");
    }
}

function login()
{
    if(validateInput())
    {
        $.post("/ajax.aspx",{opName:"Login",uid:$('#iptUserID').val(),psd:$('#iptPsd').val()},function(result){
            afterLogin(result.result);
        },"json");
    }
}

function logout()
{
    $.post("/ajax.aspx",{opName:"Logout"},function(result){
        if(result.result==0){
            $('#iptUserID').val("");
            $('#iptPsd').val("");
            $('#LoginPromote').show();
            $('#ErrorPromote').hide();
            $('#UserLogin').show();
            $('#UserID').html("");
            $('#UserInfo').hide();
            $('#RoomListTbody').empty();
        }
    },"json");
        
}

function afterLogin(result)
{
    if(result==0){
        $('#UserLogin').hide();
        $('#UserID').html($('#iptUserID').val());
        $('#UserInfo').show();
        getRooms();
    }
    else if(result==-90006)
    {
        showErrorPromote("请填写用户名和密码");
    }
    else if(result==-90007)
    {
        showErrorPromote("用户名和密码只能是中文、英文、数字的组合");
    }
    else if(result==-90008)
    {
        showErrorPromote("用户名和密码的长度不能超过20个字符");
    }
    else if(result==-90009)
    {
        showErrorPromote("已存在该用户");
    }
    else if(result==-90010)
    {
        showErrorPromote("用户名或密码错误");
    }
    else if(result==-90011)
    {
        showErrorPromote("用户名需二个字符以上,密码需六位以上");
    }
    else
    {
        showErrorPromote("未知错误,请重试");
    }
}

function validateInput()
{
    if($('#iptUserID').val()=="" || $('#iptPsd').val()=="")
    {
        showErrorPromote("请填写用户名和密码");
        return false;
    }
    if($('#iptUserID').val().length<2 || $('#iptPsd').val().length<6)
    {
        showErrorPromote("用户名需二个字符以上,密码需六位以上");
        return false;
    }
    var pattern=/^[\u4E00-\u9FA5A-Za-z0-9]+$/;
    if(!pattern.exec($('#iptUserID').val())||!pattern.exec($('#iptPsd').val()))
    {
        showErrorPromote("用户名和密码只能是中文、英文、数字的组合");
        return false;
    }
    if($('#iptUserID').val().length>20||$('#iptPsd').val().length>20)
    {
        showErrorPromote("用户名和密码的长度不能超过20个字符");
        return false;
    }
    return true;
}

function findpsd()
{
    showErrorPromote("不好意思,该功能还未开放")
}

function showErrorPromote(str)
{
    $('#ErrorPromote').html(str);
    $('#LoginPromote').hide();
    $('#ErrorPromote').show();
    $('#ErrorPromote').fadeOut(1000,function(){$('#LoginPromote').fadeIn(1000);});    
}

$(document).ready(function(){
    getRooms();
    timer = setInterval(getRooms,60000);
});

function getRooms()
{
    if($('#UserInfo').is(":visible"))
    {
        $.ajax({
            url: 'ajax.aspx',
            type: 'GET',
            dataType: 'xml',
            timeout: 5000,
            data: "opName=GetRooms",
            error: function() {
                //alert('网络异常');
            },
            success: function(xml) {
                $('#RoomListTbody').empty();
                $(xml).find("Room").each(function(){
                    if($(this).children("IsLock").text()=="0")
                        $('#RoomListTbody').append("<tr guid='"+$(this).children("RoomGUID").text()+"' IsLock='"+$(this).children("IsLock").text()+"'><td>"+$(this).children("RoomID").text()+"</td><td>"+$(this).children("RoomName").text()+"</td><td>"+$(this).children("PlayerCount").text()+"</td><td>"+$(this).children("WatcherCount").text()+"</td><td>"+$(this).children("RoomTypeDesc").text()+"</td><td>否</td></tr>")
                    else
                        $('#RoomListTbody').append("<tr guid='"+$(this).children("RoomGUID").text()+"' IsLock='"+$(this).children("IsLock").text()+"'><td>"+$(this).children("RoomID").text()+"</td><td>"+$(this).children("RoomName").text()+"</td><td>"+$(this).children("PlayerCount").text()+"</td><td>"+$(this).children("WatcherCount").text()+"</td><td>"+$(this).children("RoomTypeDesc").text()+"</td><td><img src='/images/lock.gif'></td></tr>")
                });
                $('#RoomListTbody tr').each(function(){
                    if($(this).attr("guid")==selectguid)
                    {
                        $(this).addClass("selectrow"); 
                    }
                })
                $('#RoomListTbody tr').hover(function(){
                    if(selectguid!=$(this).attr("guid"))
                    {
                        $(this).addClass("showback"); 
                        $(this).removeClass("hideback"); 
                    }
                },function(){
                    if(selectguid!=$(this).attr("guid"))
                    {
                        $(this).addClass("hideback"); 
                        $(this).removeClass("showback"); 
                    }
                });
                $('#RoomListTbody tr').click(function(){
                    $('#RoomListTbody tr').each(function(){
                        $(this).removeClass("hideback"); 
                        $(this).removeClass("showback"); 
                        $(this).removeClass("selectrow"); 
                    })
                    $(this).addClass("selectrow"); 
                    selectguid=$(this).attr("guid");
                    IsLock=$(this).attr("IsLock")
                })
                $('#RoomListTbody tr').dblclick(function(){
                    $('#RoomListTbody tr').each(function(){
                        $(this).removeClass("hideback"); 
                        $(this).removeClass("showback"); 
                        $(this).removeClass("selectrow"); 
                    })
                    $(this).addClass("selectrow"); 
                    selectguid=$(this).attr("guid");
                    IsLock=$(this).attr("IsLock")
                    enter();
                })
            }
        });
    }
}

function help()
{
    alert("暂无帮助");
}

function refresh()
{
    getRooms();
}

function enter()
{
    if(selectguid=="undefined"||selectguid==""||selectguid=="first"||selectguid==null)
        alert("请选择房间");
    else if($("#MainPsdDiv").is(":hidden")&&IsLock=="1")
    {
        $('#MainPsdDiv').fadeIn(1000);
    }
    else if($('#RoomPsdInput').val()==""&&IsLock=="1")
    {
        alert("请输入密码");
    }
    else
    {
        $.post("/ajax.aspx",{opName:"EnterRoom",passport:$('#RoomPsdInput').val(),roomguid:selectguid},function(result){
            if(result.result==0||result.result==-90012)
                window.location.href="/room.aspx?guid="+selectguid;
            else if(result.result==-90019)
            {
                alert("你的登录状态已失效,请重新登录");
                window.location.reload();
            }
            else if(result.result==-90013)
            {
                alert("您已经进入其它房间,请退出后再进本房");
            }
            else if(result.result==-90014)
            {
                alert("请输入正确的密码");
            }
            else
            {
                alert("网络异常,请正确填写信息,重新操作");
            }
        },"json");
    }
}

function CancelEnter()
{
    $('#MainPsdDiv').hide();
    $('#RoomPsdInput').val("");
}